home *** CD-ROM | disk | FTP | other *** search
/ Merciful 4 / Merciful - Disc 4.iso / rexx / animbrushtoanim.pprx < prev    next >
Text File  |  1996-11-02  |  3KB  |  137 lines

  1. /* Personal Paint Amiga Rexx script - Copyright © 1995-1996 Cloanto Italia srl */
  2.  
  3. /* $VER: AnimBrushToAnim.pprx 1.1 */
  4.  
  5. /** ENG
  6.   This script converts the current anim-brush into an animation, creating
  7.   the animation in the current environment.
  8. */
  9.  
  10. /** DEU
  11.   Dieses Skript wandelt den aktuellen AnimBrush in eine Animation um.
  12.   Dabei wird die aktuelle Arbeitsumgebung verwendet.
  13. */
  14.  
  15. IF ARG(1, EXISTS) THEN
  16.     PARSE ARG PPPORT
  17. ELSE
  18.     PPPORT = 'PPAINT'
  19.  
  20. IF ~SHOW('P', PPPORT) THEN DO
  21.     IF EXISTS('PPaint:PPaint') THEN DO
  22.         ADDRESS COMMAND 'Run >NIL: PPaint:PPaint'
  23.         DO 30 WHILE ~SHOW('P',PPPORT)
  24.              ADDRESS COMMAND 'Wait >NIL: 1 SEC'
  25.         END
  26.     END
  27.     ELSE DO
  28.         SAY "Personal Paint could not be loaded."
  29.         EXIT 10
  30.     END
  31. END
  32.  
  33. IF ~SHOW('P', PPPORT) THEN DO
  34.     SAY 'Personal Paint Rexx port could not be opened'
  35.     EXIT 10
  36. END
  37.  
  38. ADDRESS VALUE PPPORT
  39. OPTIONS RESULTS
  40. OPTIONS FAILAT 10000
  41.  
  42. Get 'LANG'
  43. IF RESULT = 1 THEN DO        /* Deutsch */
  44.     txt_err_nofrm     = 'Frameerstellung für Umgebung_nicht möglich'
  45.     txt_err_nofmt     = 'Einstellung des Umgebungsformats_nicht möglich.'
  46.     txt_err_oldclient = 'Für dieses Skript_ist eine neuere Version_von Personal Paint erforderlich'
  47. END
  48. ELSE IF RESULT = 2 THEN DO        /* Italiano */
  49.     txt_err_nofrm     = 'Impossibile trovare fotogrammi'
  50.     txt_err_nofmt     = 'Impossibile impostare formato'
  51.     txt_err_oldclient = 'Questa procedura richiede_una versione più recente_di Personal Paint'
  52. END
  53. ELSE DO        /* English */
  54.     txt_err_nofrm     = 'Environment frames_cannot be created'
  55.     txt_err_nofmt     = 'Environment format_cannot be set'
  56.     txt_err_oldclient = 'This script requires a newer_version of Personal Paint'
  57. END
  58.  
  59. Version 'REXX'
  60. IF RESULT < 7 THEN DO
  61.     RequestNotify 'PROMPT "'txt_err_oldclient'"'
  62.     EXIT 10
  63. END
  64.  
  65. FreeEnvironment 'QUERY'
  66. IF RC ~= 0 THEN
  67.     EXIT RC
  68.  
  69.  
  70. LockGUI
  71. loaded = 0
  72. GetBrushAttributes 'FRAMES'
  73. frnum = RESULT
  74. IF frnum = 0 THEN DO
  75.     LoadAnimBrush
  76.     IF RC = 0 THEN DO
  77.         GetBrushAttributes 'FRAMES'
  78.         frnum = RESULT
  79.         loaded = 1
  80.     END
  81. END
  82. IF frnum > 0 THEN DO
  83.     GetBrushAttributes 'WIDTH'
  84.     bw = RESULT
  85.     GetBrushAttributes 'HEIGHT'
  86.     bh = RESULT
  87.     GetBrushAttributes 'COLORS'
  88.     bcol = RESULT
  89.     GetBrushAttributes 'DISPLAY'
  90.     bdisp = RESULT
  91.     GetBrushAttributes 'HANDLEX'
  92.     bhx = RESULT
  93.     GetBrushAttributes 'HANDLEY'
  94.     bhy = RESULT
  95.     GetBrushAttributes 'LENGTH'
  96.     bfl = RESULT
  97.     GetBrushAttributes 'FRAMEPOSITION'
  98.     bfp = RESULT
  99.  
  100.     Get 'GCLIP'
  101.     saveclip = RESULT
  102.     Set '"GCLIP=0"'
  103.  
  104.     DeleteFrames 'ALL FORCE'
  105.     ClearImage 'FORCE'
  106.  
  107.     Set '"IMAGEW='bw'" "IMAGEH='bh'" "COLORS='bcol'" "DISPLAY='bdisp'" "SCREENW='bw'" "SCREENH='bh'" "ASCROLL=0"'
  108.     IF RC = 0 THEN DO
  109.         AddFrames frnum
  110.         IF RC = 0 THEN DO
  111.             SetFramePosition 1
  112.             SetBrushAttributes 'HANDLEX 0 HANDLEY 0 LENGTH' frnum 'FRAMEPOSITION 1'
  113.             SetPaintMode 'REPLACE'
  114.             DO frm = 1 TO frnum
  115.                 PutBrush 0 0
  116.                 UseBrushPalette
  117.                 SetFramePosition 'NEXT'
  118.             END
  119.             SaveAnimation
  120.         END
  121.         ELSE
  122.             RequestNotify 'PROMPT "'txt_err_nofrm'"'
  123.     END
  124.     ELSE
  125.         RequestNotify 'PROMPT "'txt_err_nofmt'"'
  126.  
  127.     SetBrushAttributes 'HANDLEX' bhx 'HANDLEY' bhy 'LENGTH' bfl 'FRAMEPOSITION' bfp
  128.     DeleteFrames 'ALL FORCE'
  129.     ClearImage 'FORCE'
  130.  
  131.     Set '"GCLIP='saveclip'"'
  132. END
  133. IF loaded THEN
  134.     FreeBrush 'FORCE'
  135.  
  136. UnlockGUI
  137.